﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using myFinance.BLL;
using myFinance.Models;
using System.Diagnostics;

namespace myFinance.Controllers
{
    [Authorize]
    public class AgendaController : Controller
    {
        #region ViewModels
        #endregion

        #region Index
        public ActionResult Index() // Index padrão
        {
			// Se o usuário ainda não tiver um cadastro gravado, retorna pro cadastro
			if (PessoaBll.GetPessoa(User.Identity.Name) == null)
				return RedirectToAction("Cadastro", "Perfil");
						
            return View();
        }
        #endregion

		#region Cadastro
		//public ActionResult Cadastro(int id) // Formulário de Cadastro
		//{
		//    // Se o usuário ainda não tiver um cadastro gravado, retorna pro cadastro
		//    if (PessoaBll.GetPessoa(db, User.Identity.Name) == null)
		//        return RedirectToAction("Cadastro", "Perfil");

		//    // Se não for uma requisição ajax, ou seja, acessado através de digitação direta na campo da 
		//    // url e se não estiver em modo de debug, retorna pra index do home
		//    if (!Request.IsAjaxRequest() && !Debugger.IsAttached)
		//        return RedirectToAction("Index", "Home");

		//    var model = new Agenda();
		//    if (id > 0)
		//    {
		//        model = AgendaBll.GetAgenda(db, id);
		//    }
		//    //ViewBag.IdModeloEntidade = new SelectList(db.ModeloEntidade.ToList(), "IdModeloEntidade", "NomeModeloEntidade");
		//    return View(model);
		//}
		#endregion

        //#region Salvar
        //[HttpPost]
        //public ActionResult Cadastro(Agenda modelView) // Método de gravação do registro
        //{
        //    if ( ModelState.IsValid )
        //    {
        //        try
        //        {					
        //            if (modelView.Id > 0)
        //            {
        //                var model = AgendaBll.GetAgenda(db, modelView.Id);						
        //                TryUpdateModel(model);
        //                AgendaBll.Edit(db, model);
        //            }
        //            else
        //            {
        //                var model = new Agenda();
        //                TryUpdateModel(model);
        //                AgendaBll.Add(db, model);
        //            }                    
        //            return RedirectToAction("Index");
        //        }		
        //        catch (Exception ex)
        //        {                    
        //            ModelState.AddModelError(string.Empty, ex);
        //            return View(modelView);
        //        }
        //    }
        //    else
        //    {
        //        return View(modelView);
        //    }
        //}
        //#endregion

        //#region Excluir
        //[HttpPost]
        //public ActionResult Excluir (int id) // Método de exclusão do registro
        //{
        //    try
        //    {
        //       Agenda.Delete(db, id);
        //        return Json(true);
        //    }
        //    catch (Exception ex)
        //    {
        //         string msgEx = "Houve um erro na exclusão do registro:";
        //        if (ex.InnerException == null)
        //        {
        //            msgEx += ex.Message;
        //        }
        //        else
        //        {
        //            msgEx += ex.InnerException.Message;
        //        }
        //        return Json(new { msgErro = msgEx });
        //    }
        //}
        //#endregion
    }
}
